<!DOCTYPE html>
<!--
     SPDX-License-Identifier: CC-BY-SA-4.0
     SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
-->
<!-- Page last generated 2025-02-20 03:16:15 +0000 -->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Project Status | seL4 docs</title>

    <!-- Our stylesheet and theme stylesheet.  Contains bootstrap. -->
    <link rel="stylesheet" href="/assets/css/style.css" type="text/css">
    <!-- Font awesome -->
    <link href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
    <!-- Pygments syntax highlighting  -->
    <link rel="stylesheet" href="/assets/css/highlighting/trac.css" type="text/css">
    <link rel="icon" type="image/x-icon" href="/assets/favicon.ico"><script defer data-domain="docs.sel4.systems"
	    src="https://analytics.sel4.systems/js/script.js"></script></head>

  <body class="container-fluid">

    



<header>
  <ul class="row menu">
    <li class="col-xs-12 col-md-2" >
            <a href="https://sel4.systems" class="skip-icon">
              <img class="img-responsive" src="/assets/logo-text-white.svg" alt="seL4 logo" />
            </a>
    </li>
    <li class="col-xs-12 col-md-10 menu">
      <nav aria-label="Banner links">
        <h2><a href="/Resources" />Resources</h2>
        <h2><a href="/processes" />Contributing</a></h2>
        <h2><a href="/projects" />Projects</h2>
        <h2><a href="/Tutorials" />Tutorials</h2>
        <iframe title="DuckDuckGo search bar" src="https://duckduckgo.com/search.html?site=docs.sel4.systems&prefill=Search%20sel4.systems" style="overflow:hidden;margin-bottom:10px; padding:0;height:40px;float:right;border-width: 0px"></iframe>
      </nav>
    </li>
  </ul>
  <div class="clear"></div>
  
<div class="breadcrumbs bootstrap hidden-sm-down">
  <nav class="sel-breadcrumb" aria-label="Breadcrumb" >
    <ol class=" list-unstyled" vocab="http://schema.org/" typeof="BreadcrumbList">
      
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/">
              <span property="name"><b>seL4 Docs</b></span>
            </a>
            <meta property="position" content="1" />
        </li>
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/projects/">
              <span property="name"><b>Projects</b></span>
            </a>
            <meta property="position" content="2" />
        </li>
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/projects/sel4test/">
              <span property="name"><b>seL4Test</b></span>
            </a>
            <meta property="position" content="3" />
        </li>
      
        

        
          <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <span property="name">Project Status</span>
            <meta property="position" content="4" /></li>
          
    </ol>
  </nav>
  <nav class="sel-version" aria-label="Current Versions">
    <ol class="list-unstyled">
      <li class="list-unstyled text-right" style="margin-left:auto; padding:0rem 0rem;">
        Current versions:</li>
      <li class="list-unstyled text-right">
      <a href="/releases/sel4/13.0.0"><b>seL4-13.0.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/microkit/1.4.1"><b>microkit-1.4.1</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/camkes/camkes-3.11.0"><b>camkes-3.11.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/capdl/0.3.0"><b>capDL-0.3.0</b></a></li>
      </ol>
  </nav>
  <div class='clear'></div>
</div>


</header>

    <main>
      <div class="row">
  <div class="hidden-xs col-sm-4 col-md-3 col-lg-2">
    


<div class="sidebar">















    <ul class="nav nav-sidebar">
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4/">seL4</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/l4v/">L4.verified</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/camkes/">CAmkES</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/capdl/">CapDL</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/elfloader/">Elfloader</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/buildsystem/">seL4 Buildsystem</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/user_libs/">user_libs</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4runtime/">The seL4 run-time</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4webserver/">seL4webserver</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4-tutorials/">seL4 tutorials</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4bench/">sel4bench</a>
        </li>
  
    
    

    
        <li class="active">
            <a class="" href="/projects/sel4test/">seL4Test</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/virtualization/">Virtualization</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/camkes-vm/">camkes-vm</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/dockerfiles/">Dockerfiles</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/docsite/">seL4 Documentation website</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4_tools/">seL4_tools</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/microkit/">Microkit</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/hardware_hacks/">Hardware Hacks</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/rust/">Rust</a>
        </li>
  
    </ul>


</div>

  </div>
  <div class="content col-sm-8 col-md-6 col-lg-7 main">
    <h1 id="sel4test-project-status">seL4test Project Status</h1>

<p>This project status page lists the status for currently supported features, components
and configurations for seL4Test and who is responsible for maintaining them.</p>

<h2 id="features">Features</h2>

<h3 id="test-runner">Test runner</h3>

<p>seL4test requires itself to be started directly by seL4 as the root-task in the system.
This is the <code class="language-plaintext highlighter-rouge">sel4test-driver</code> binary and it then also serves as the main test runner.
It runs the configured tests and sets up the required test environment for each test.
It prints out test results over a serial connection. <code class="language-plaintext highlighter-rouge">sel4test-driver</code> is maintained
by the seL4 Foundation and is currently the only test runner that is expected to run
tests defined for seL4test.</p>

<h3 id="test-environments">Test environments</h3>

<p>Each test runs in a test environment. This environment provides the test with an
expected set of system resources required for it to run. There are currently two test
environments, listed below. It is possible for more test environments to be defined
in the future. The usual motivation for different test environments is different
system dependencies of the tests.</p>

<table>
    <thead>
        <tr>
            <th>Components</th>
            <th>Description</th>
            <th>Status</th>
            <th>Maintained by</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>BASIC test type</td>
            <td>General test type where test is launched in own process and can report test results to driver over IPC.</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>BOOTSTRAP test type</td>
            <td>Bootstrapping test type where each test is called in the same address space as the test driver. Used for testing functionality required for BASIC test type.</td>
            <td>active.</td>
            <td>seL4 Foundation</td>
        </tr>
    </tbody>
</table>

<h3 id="test-declarations">Test declarations</h3>

<p>Tests can be declared in any library that can be linked with sel4test applications.
A test is defined by using a preprocessor macro defined by its test environment. This
will place the test into a named linker section that the test runner will use to
launch the test at runtime inside it’s requested environment.</p>

<h2 id="project-manifests">Project manifests</h2>

<table>
    <thead>
        <tr>
            <th>Components</th>
            <th>Description</th>
            <th>Status</th>
            <th>Maintained by</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>master.xml</td>
            <td>seL4test project manifest with all repositories from master branches.</td>
            <td>active. Updated whenever project repository structure changes.</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>default.xml</td>
            <td>seL4test project manifest with all repositories pinned to last versions that passed all tests.</td>
            <td>active. This gets updated automatically by continuous integration.</td>
            <td>seL4 Foundation</td>
        </tr>
    </tbody>
</table>

<h2 id="configurations">Configurations</h2>

<p>The set of tests that get run will be different for different kernel configurations.
Each test is able to specify a config requirement that will prevent the test from
being run if a certain config option isn’t set in a compatible way. This means that
changing the build configuration can change which tests will be run.  To make it easier
to configure a build of seL4test that enables the right coverage of tests there is
a selection of meta-configuration options that are specific to seL4test. These options
are listed below and will be interpreted by seL4test and used to set sensible default
configuration values.</p>

<table>
    <thead>
        <tr>
            <th>Configurations</th>
            <th>Description</th>
            <th>Status</th>
            <th>Maintained by</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>SIMULATION (BOOL)</td>
            <td>Include only simulation compatible tests</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>RELEASE (BOOL)</td>
            <td>Performance optimized build</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>VERIFICATION (BOOL)</td>
            <td>Only verification friendly kernel features</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>BAMBOO (BOOL)</td>
            <td>Enable machine parseable output</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>DOMAINS (BOOL)</td>
            <td>Test multiple domains</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>SMP (BOOL)</td>
            <td>(if supported) Test SMP kernel</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>NUM_NODES (STRING)</td>
            <td>(if SMP) the number of nodes)</td>
            <td>(Default: 4)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>PLATFORM (STRING)</td>
            <td>Platform to test</td>
            <td>(Default: x86_64)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>ARM_HYP (BOOL)</td>
            <td>Hyp mode for ARM platforms</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>MCS (BOOL)</td>
            <td>MCS kernel</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>KernelSel4Arch (STRING)</td>
            <td>aarch32, aarch64, arm_hyp, ia32, x86_64, riscv32, riscv64</td>
            <td>(Default: Usually set by PLATFORM)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>LibSel4TestPrinterRegex (STRING)</td>
            <td>A POSIX regex pattern used to filter tests</td>
            <td>(Default: .*)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>LibSel4TestPrinterHaltOnTestFailure (BOOL)</td>
            <td>Halt on the first test failure</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
    </tbody>
</table>


  </div>







  
    
<div class="sidebar-toc hidden-xs hidden-sm col-md-3 col-lg-3">
    <ul id="toc" class="section-nav">
<li class="toc-entry toc-h2"><a href="#features">Features</a>
<ul>
<li class="toc-entry toc-h3"><a href="#test-runner">Test runner</a></li>
<li class="toc-entry toc-h3"><a href="#test-environments">Test environments</a></li>
<li class="toc-entry toc-h3"><a href="#test-declarations">Test declarations</a></li>
</ul>
</li>
<li class="toc-entry toc-h2"><a href="#project-manifests">Project manifests</a></li>
<li class="toc-entry toc-h2"><a href="#configurations">Configurations</a></li>
</ul>
</div>

  
  
<div class="sidebar-toc hidden-xs hidden-sm col-md-3 col-lg-3">
  
    <ul class="section-nav">
    	<h2> seL4Test </h2> 
        <li>
          
          <a style="" class="" href="/projects/sel4test/">
            Documentation homepage
          </a>
        </li>








        <li>
          
          <a style=" font-weight: bold; " class="" href="/projects/sel4test/status.html">
            Status
          </a>
        </li>










    
        <h3>Repositories</h3>
    
        <li>
          <a class="" href="https://github.com/sel4/sel4test">
            sel4test
          </a>
        </li>

    
        <li>
          <a class="" href="https://github.com/sel4/sel4test-manifest">
            sel4test-manifest
          </a>
        </li>









  







    
        <h3>Recent Updates</h3>
    
        <li>
          <a style="" href="/updates/sel4test/11.0.x.html">
            seL4 11.0.x-compatible
          </a>
        </li>

    </ul>

</div>


</div>

    </main>
    


<footer class="site-footer">

  <h2 class="footer-heading">seL4 docs</h2>

  <div class="footer-col-wrapper">

    <div class="col-md-2">
      



<ul class="social-media-list">
  <li><a href="https://github.com/sel4"><i class="fab fa-github"></i> <span class="username">sel4</span></a></li><li><a href="https://github.com/sel4proj"><i class="fab fa-github"></i> <span class="username">sel4proj</span></a></li>
</ul>

    </div>

    <div class="col-md-8">
      <ul class="list-unstyled">
        <li>
          This site is for displaying seL4 related documentation.  Pull requests are welcome.
        </li>
        
          <li>
            Site last updated: Fri Feb 7 10:17:38 2025 +1100 ee78c8857c
          </li>
          <li>
          </li>
        
      </ul>
    </div>
    <div class="col-md-2">
<a href="https://github.com/seL4/docs/blob/master/content_collections/_status/sel4test.md">View page on GitHub</a>
      <br />
      <a href="https://github.com/seL4/docs/edit/master/content_collections/_status/sel4test.md">Edit page on GitHub</a>
      <br />
      <a href="/sitemap">Sitemap</a>
    </div>

  </div>

</footer>

  </body>
</html>
